package com.example.onlinemusic.mapper;

import com.example.onlinemusic.model.Music;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface LoveMusicMapper {

    /**
     * 查询喜欢的音乐
     * @param userId
     * @param musicId
     * @return
     */
    Music findLoveMusicByMusicIdAndUserId(int userId, int musicId);

    /**
     * 收藏音乐
     * @param userId
     * @param musicId
     * @return
     */
    boolean insertLoveMusic(int userId, int musicId);

    /**
     * 查询用户收藏过的所有的音乐
     * @param userId
     * @return
     */
    List<Music> findLoveMusicByUserId(int userId);

    /**
     * 查询当前用户指定的音乐，支持模糊查询
     * @param musicName
     * @param userId
     * @return
     */
    List<Music> findLoveMusicByKeyAndUserId(String musicName, int userId);

    /**
     * 移除某个用户收藏的音乐
     * @param userId 用户Id
     * @param musicId 音乐Id
     * @return
     */
    int deleteLoveMusic(int userId, int musicId);


    int deleteLoveMusicById(int musicId);
}
